/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Module Name          : com.yaodian100.ec.givebonus.entity.GiveBonus
   Module Description   :

   Date Created      : 2010/2/4
   Original Author   : feeling.wang
   Team              : yaodian100
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   MODIFICATION HISTORY
   ------------------------------------------------------------------------------
   Date Modified       Modified by       Comments
   ------------------------------------------------------------------------------
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
package com.yaodian100.ec.givebonus.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.GenericGenerator;

import com.yaodian100.core.common.entity.BaseEntity;

/**
 * @author feeling.wang
 * 
 */
@Entity(name = "giveBonus")
@Table(name = "EC_GIVE_BONUS")
public class GiveBonus extends BaseEntity {
	private static final long serialVersionUID = 6998852476912749027L;

	@Id
	@GeneratedValue(generator = "gen_uuid")
	@GenericGenerator(name = "gen_uuid", strategy = "uuid")
	@Column(name = "BONUS_UUID")
	private String uuid;
	@Column(name = "BONUS_NAME", length = 20, nullable = false)
	private String name;

	/**
	 * 購物金金额
	 */
	@Column(name = "TRX_AMOUNT", nullable = false, columnDefinition = "numeric(10,2)")
	private BigDecimal trxAmount;

	/**
	 * 購物金產生日期
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "TRX_DATE", nullable = false)
	private Date trxDate;

	/**
	 * 購物金產生類別
	 */
	@Column(name = "TRX_TYPE", length = 20, nullable = false)
	private String trxType;

	/**
	 * 交易说明
	 */
	@Column(name = "DESCRIPTION", length = 300, nullable = false)
	private String description;

	/**
	 * 购物金可使用之有效起始日
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "START_DATE", nullable = false)
	private Date startDate;

	/**
	 * 购物金有效结束日期
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "EXPIRE_DATE", nullable = false)
	private Date expireDate;

	/** budget, 预算归属, 維護於選單 Menu 'Budget' */
	@Column(name = "BUDGET", length = 2)
	private String budget;

	public String getDescription() {
		return description;
	}

	public Date getExpireDate() {
		return expireDate;
	}

	public String getName() {
		return name;
	}

	public Date getStartDate() {
		return startDate;
	}

	public BigDecimal getTrxAmount() {
		return trxAmount;
	}

	public Date getTrxDate() {
		return trxDate;
	}

	public String getTrxType() {
		return trxType;
	}

	public String getUuid() {
		return uuid;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public void setExpireDate(Date expireDate) {
		this.expireDate = expireDate;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public void setTrxAmount(BigDecimal trxAmount) {
		this.trxAmount = trxAmount;
	}

	public void setTrxDate(Date trxDate) {
		this.trxDate = trxDate;
	}

	public void setTrxType(String trxType) {
		this.trxType = trxType;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
	}

	public String getBudget() {
		return budget;
	}

	public void setBudget(String budget) {
		this.budget = budget;
	}
}